﻿using Shop.Model.DB;
using Shop.RemoteModel.SpecTemplate.Model;

namespace Shop.Collect
{
    public interface ISpecsTemplateCollect
    {
        Dictionary<long, int> SetSort (DBSpecsTemplate template, int sort);
        void Clear (long templateId);
        long Add (SpecTemplateAdd datum);
        void Delete (DBSpecsTemplate source);
        DBSpecsTemplate Get (long id);
        Result Get<Result> (long id) where Result : class;
        SpecTemplateItem[] GetItems (long templateId, string queryKey);
        SpecTemplateDto[] Gets (long templateId);
        Dictionary<long, string[]> GetSpecName (long[] templateId);
        Dictionary<long, SpecTemplateItem[]> GetSpecs (long[] templateId);
        bool Set (DBSpecsTemplate source, SpecTemplateSet set);
        void SetIsEnable (DBSpecsTemplate source, bool isEnable);
        void CheckIsNull (long id);
    }
}